package com.macro.mall.ums.service.login.bo;

import com.macro.mall.common.api.input.BaseInput;
import com.macro.mall.ums.enums.UserGenderEnum;
import com.macro.mall.ums.enums.UserSourceTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 微信公众号登录input
 *
 * @author xuyanjun
 * @date 2019-07-11
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@Valid
public class LoginByWxMpInput extends BaseInput {

    /**
     * 微信unionId
     */
    private String unionId;

    /**
     * 用户微信openId
     */
    @NotBlank(message = "微信openId不能为空。")
    private String openId;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 普通用户性别，1为男性，2为女性
     */
    private UserGenderEnum userGenderEnum;

    /**
     * 普通用户个人资料填写的省份
     */
    private String province;

    /**
     * 普通用户个人资料填写的城市
     */
    private String city;

    /**
     * 国家，如中国为CN
     */
    private String country;

    /**
     * 用户头像
     */
    private String headImgUrl;

    /**
     * 登录ip
     */
    private String loginIp;

    /**
     * 用户代理
     */
    private String userAgent;

    /**
     * 上级id
     */
    private Long befId;

    /**
     * 用户注册来源枚举
     */
    @NotNull(message = "用户注册来源不能为空。")
    private UserSourceTypeEnum userSourceTypeEnum;
}
